<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        // var url = "http://baidu.com"
        // var obj = {
        //     url,
        //     success(){

        //     }
        // }
        // console.log(obj);


        var func = () => {}

        var func = a => {};

        var func = a => console.log(123);

        var func = a => a * a ;

        //1. 没有自己的this  （经常被用作处理 var that = this的场景）
        //2. 没有自己的arguments  （怎么给箭头函数传递不定个数的参数呢 rest参数）


        //rest参数
        function func (a, ...b){

        }

        func(1, 2, 3, 4)


        //对象的扩展语法
        
        var obj = {
            x: "",
            y: ""
        }

        var obj1 = {
            ...obj
        }

        //解构赋值
        //对象解构赋值

        // var {name, age} = obj;
        // var {name: n, age: a} = obj;
        
        // var {dianzuan} = toolBox;

        //数组解构赋值
        var arr = [1, 2, 3, 4]
        var [num1, num2, num3, num4] = arr;
        
        //rest元素
        var [num1, ...num2] = arr;

        //模板字符串
        var tempStr = `askdlfjlakjfd ${1+1} ${num1}`;
        
        //借用构造函数继承
        //使用call方法或者apply方法实现继承

        // function Person(){
        //     this.name = "";
        //     this.age  = 18;
        // }

        // function Student(){
        //     Person.call(this);
        // }

        
    </script>
</body>
</html>